Skip to content

Silently drop phantom tiles closed before show#13

Merged
peterp merged 1 commit intomainfrom
silent-remove-phantom-tiles
May 1, 2026
Merged

Silently drop phantom tiles closed before show#13
peterp merged 1 commit intomainfrom
silent-remove-phantom-tiles

Conversation

@peterp
Copy link
Copy Markdown
Owner

@peterp peterp commented May 1, 2026

Summary

  • When a window was closed externally before the user reopened the overlay, the prewarm cache still listed it. The first refreshAndReconcile after show() would then render that tile briefly and fade it out — visible as a phantom tile lingering in place.
  • Add a silentRemovals path to reconcileTiles that drops layers and stops streams immediately, and use it on the post-show reconcile. Animated fade-out is preserved for any future caller (e.g. mid-overlay reconciliation).

Test plan

  • Open overlay, dismiss, close one of the windows in another app, reopen overlay → that window's tile no longer appears at all (no flash + fade).
  • Newly-launched apps still fade in on the post-show reconcile.
  • Resize-only reconciles still re-layout without churn.

🤖 Generated with Claude Code

Windows closed externally before the user reopened the overlay would render
briefly from the prewarm cache, then fade out via the animated reconcile
path. From the user's perspective the window was already gone, so the fade
read as a phantom tile lingering in place.

Add a silentRemovals path to reconcileTiles that yanks layers and stops
streams immediately, and use it for the post-show reconcile. The existing
fade-out remains available for future callers that reconcile while the
overlay is already visible.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@peterp peterp merged commit d089cd0 into main May 1, 2026
1 check passed
@peterp peterp deleted the silent-remove-phantom-tiles branch May 1, 2026 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant